package com.yxh.base;

import com.github.pagehelper.PageInfo;

import java.io.Serializable;
import java.util.List;





public  interface BaseService<T,Obj extends Serializable> {

	int save(T record);

	int update(T record);

	int delete(Obj id);

	void batchDelete(List<T> records);
	
	T get(Obj id);
	
	T get(T record);
	
	/**
	 * 查询数据列表，如果需要分页，请设置分页对象，如：entity.setPage(new Page<T>());
	 * @param record
	 * @return
	 */
	List<T> getList(T record);
	
	/**
	 * 查询所有数据列表
	 * @param record
	 * @return
	 */
	List<T> getAllList(T record);
	
	/**
	 * 分页查询数据列表
	 * @param record
	 * @return
	 */
	List<T> getListPage(PageEntity<T> record);
	PageInfo getInformation(T record, Integer page, Integer pageSize);

}
